From c64946c52d170b49c0a8ddb7500a8eb2dd3feb41 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 28 Aug 2010 20:24:28 +0200 Subject: [PATCH] trayicon: Use XClearArea gdk_window_clear_area() isn't smart enough to clear to a parent pixmap that is part of a window that GDK doesn't manage. --- gtk/gtktrayicon-x11.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index cc770fad6c..ecee4adba9 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -331,9 +331,14 @@ gtk_tray_icon_expose (GtkWidget *widget, } else { - /* Clear to parent-relative pixmap */ - gdk_window_clear_area (window, event->area.x, event->area.y, - event->area.width, event->area.height); + /* Clear to parent-relative pixmap + * We need to use direct X access here because GDK doesn't know about + * the parent realtive pixmap. */ + XClearArea (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + event->area.x, event->area.y, + event->area.width, event->area.height, + False); } if (GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->expose_event) -- 2.30.2